#include <Ice/BuiltinSequences.ice>

module Ripper
{

  exception EncodingFailedException
  {
    string reason;
  };

  interface Mp3Encoder
  {
    Ice::ByteSeq encode(Ice::ShortSeq leftSamples, Ice::ShortSeq rightSamples)
      throws EncodingFailedException;
    Ice::ByteSeq flush()
      throws EncodingFailedException;
  };

  interface Mp3EncoderFactory
  {
    Mp3Encoder* createEncoder(int channels, int sampleRate);
  };

};